Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра електронні обчислювальні машини

Інформація про роботу

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Моделювання

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра «Електронні обчислювальні машини» Лабораторна робота №2 Розробка та моделювання декодера для семисегментного індикатора Мета роботи: вивчити методи опису поведінки об'єктів за допомогою архітектур та процесів, шляхи застосування оператора вибору case, навчитись моделювати поведінку об'єктів в САПР Active-HDL. Теоретична частина: Для візуалізації процесів, що протікають в складному цифровому пристрої, необхідно виводити значення сигналів на 7-сегментний індикатор. Необхідно розробити на VHDL пристрій "декодер", що перетворює вхідний 4-розрядний двійково-десятковий код у сигнал для одного розряду 7-сегментного індикатора. Кожний розряд індикатора являє собою 7 сегментів, подання логічної одиниці на які викликає їх свічення. Наприклад, подання на індикатор числа "1101101" приведе до висвічення цифри "3":  Інтерфейс декодера: 4-розрядний вхідний порт X типу std_logic_vector (3 downto 0), вихідний 7-розрядний порт Y типу std_logic_vector (6 downto 0):  Якщо на вхід Х пристрою об'єкта поданий код від 0 до 9, декодер сформувати на виході Y сигнал, який задає зображення цього числа. Для кодів 10..15 на виході формується сигнал "0000000" (жоден сегмент індикатора не світиться). Декодер повинен оновлювати сигнал Y кожний раз, коли змінюється значення вхідного порту Х. Текст VHDL-опису декодера: library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED.all; entity decoder is port( X : in STD_LOGIC_VECTOR(3 downto 0); Y : out STD_LOGIC_VECTOR(6 downto 0) ); end decoder; architecture decoder of decoder is begin process (X) subtype TOutput is STD_LOGIC_VECTOR(6 downto 0); constant ZERO: TOutput := "1110111"; constant ONE: TOutput := "0100100"; constant TWO: TOutput := "1011101"; constant THREE: TOutput := "1101101"; constant FOUR: TOutput := "0101110"; constant FIVE: TOutput := "1101011"; constant SIX: TOutput := "1111011"; constant SEVEN: TOutput := "0100101"; constant EIGHT: TOutput := "1111111"; constant NINE: TOutput := "1101111"; constant GT_NINE:TOutput := "0000000"; begin if X'event then c1: case Conv_Integer(X) is when 0 => Y <= ZERO; when 1 => Y <= ONE; when 2 => Y <= TWO; when 3 => Y <= THREE; when 4 => Y <= FOUR; when 5 => Y <= FIVE; when 6 => Y <= SIX; when 7 => Y <= SEVEN; when 8 => Y <= EIGHT; when 9 => Y <= NINE; when others => Y <= GT_NINE; end case c1; end if; end process; end decoder; Часові діаграми роботи декодера:    Висновки: У мові VHDL присутні оператори процедурних мов програмування. Такі як case, if і тд. Також є можливість оголошувати константи та нові типи даних.
Антиботан аватар за замовчуванням

24.04.2013 19:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини